﻿#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include <time.h>
/*
1、以写方式打开文件 判断文件
2、定义 三个变量  字符串
3、循环100次
4、格式化字符串
5、录入内容
6、文件关闭
循环四则运算100次
char arr[20]
sprintf(arr,"%d%c%d=\n",a,c,b);
while(arr!='\0')
{

}
3*2=
5/2=
3-1=
4+6=
*/
enum MyEnum
{
	add, sub, mult, dive
}opt;

//main138：循环写入四则运算表达式到文件中
int main138()
{
	srand((unsigned int)time(NULL));
	//1、以写w方式打开文件，判断文件;
	FILE* fp = fopen("../../../file/FileFourOperation.txt", "w");
	if (!fp)
	{
		return -1;
	}
	//2、定义，三个变量，字符串；
	int a, b;
	char c;
	char buf[20];
	//3、循环100次；
	for (int i = 0; i < 100; i++)
	{
		//4、格式化字符串；获取到+-*/，rand()%4为0-3;
		/*switch (rand() % 4)
		{
		case 0:
			c = '+';
			break;
		case 1:
			c = '-';
			break;
		case 2:
			c = '*';
			break;
		case 3:
			c = '/';
			break;
		}*/
		switch (rand() % 4)
		{
		case add:
			c = '+';
			break;
		case sub:
			c = '-';
			break;
		case mult:
			c = '*';
			break;
		case dive:
			c = '/';
			break;
		}

		//5.计算10以内的加减法；
		a = rand() % 10 + 1;//2
		b = rand() % 10 + 1;//3
		printf("%d---%d\n", a, b);//5---5		7---4		10---7	...	8---4		5---5

		//7.使用buf接收数据之前，每次都重置一下；
		memset(buf, 0, 20);

		//6.注意：使用sprintf将格式化后的数据2*3=\n存入到字符串buf中；
		sprintf(buf, "%d%c%d=\n", a, c, b);//2*3=\n
		int j = 0;
		/*while (buf[j]!='\0')
		{
			fputc(buf[j], fp);
			j++;
		}*/
		while (buf[j])
		{
			fputc(buf[j++], fp);
		}
	}
	fclose(fp);
	system("pause");
	return EXIT_SUCCESS;
}